<?php 
/**
 * 应用系统角色模型
 * @author tangbl
 *
 */
class RoleModel extends Model {

	/**
	 array(
 		0.字段名
		1.验证规则 [require 字段必须、email 邮箱、url URL地址、currency 货币、number 数字]
		2.提示信息  {%usr_form_validata_email_email}
		3.验证条件 [0.(默认)存在字段就验证;1.必须验证;2.值不为空的时候验证]
		4.附加规则 [regex、function、callback、confirm、equal、in、length、between、
		         expire、ip_allow、ip_deny、unique]
		5.验证时   [1.新增数据时候验证;2.编辑数据时候验证;3.(默认)全部情况下验证]
	  );
	 */
	protected $_validate=array(
		array('title', 'require','角色标题不能为空',1,'',3),
	);
	
	/**
	 * 定义自动完成
	 */
	protected $_auto = array(
		array('addtime','time',1,'function'),
	);
	
	/**
	 * 数据库表名
	*/
	protected $tableName = 'admin_role';
	
	/**
	 * 根据条件数组查询角色
	 * @param  array $map 条件数组
	 * @return array 节点列表数组
	 */
	public function listRole($map, $filter = 'remark' ){
		
		return $this->where($map)->field($filter,true)->select();
	}
	
	/**
	 * 根据id删除对应的角色以及角色关联记录
	 * 该角色下存在管理员应该不能删除
	 * 角色关联节点(admin_role_access)
	 * 角色关联菜单(admin_menu_access)(角色已经关联菜单是否能删除?)
	 * 角色关联管理员(role_admin)(角色已经关联管理员是否能删除?)
	 * @param  int $id 角色id
	 * @return bool 删除状态
	 */
	public function delRole($id){
		
		$model = M("");
	}
	
	public function nodeByRole(){
		
	}
	
	public function menuByRole(){
	
	}
}